package com.slidingmenu.example;
import android.graphics.Canvas;
import android.graphics.Matrix;
import com.slidingmenu.lib.SlidingMenu.CanvasTransformer;
public class CustomFoldAnimation extends CustomAnimation {
public CustomFoldAnimation() {
super(R.string.anim_fold, new CanvasTransformer() {
@Override
public void transformCanvas(Canvas canvas, float percentOpen) {
// the left side
// canvas.save();
// canvas.clipRect(0, 0, canvas.getWidth()/2, canvas.getHeight());
Matrix m = new Matrix();
float[] src = new float[] {0, 0, canvas.getWidth(), 0,
canvas.getWidth()/2, 0, canvas.getWidth()/2, canvas.getHeight()};
float[] dest = new float[] {0, 0, canvas.getWidth(), 0,
canvas.getWidth()/2, 100, canvas.getWidth()/2, canvas.getHeight()-100};
m.setPolyToPoly(src, 0, dest, 0, 4);
canvas.setMatrix(m);
// canvas.restore();
// // the right side
// canvas.save();
// canvas.clipRect(canvas.getWidth()/2, 0, canvas.getWidth(), canvas.getHeight());
float[] src2 = new float[] {0, 0, 0, canvas.getHeight(),
canvas.getWidth(), 0, canvas.getWidth(), canvas.getHeight()};
float[] dest2 = new float[] {0, 50, 0, canvas.getHeight()-50,
canvas.getWidth(), 0, canvas.getWidth(), canvas.getHeight()};
// m.setPolyToPoly(src, 0, dest, 0, 4);
// canvas.setMatrix(m);
// canvas.restore();
}
});
}
}